﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Web;

namespace WebCalendar.Models.DTOs
{
    public class ManageIndexDTO
    {
        public List<Calendar> OwnCalendars { get; set; }
        public List<Calendar> EditableCalendars { get; set; }
        public List<Calendar> MemberCalendars { get; set; }
        public List<Category> MyCategories { get; set; }
    }
    public class CalendarPublicDTO
    {
        public List<Calendar> Calendars { get; set; }
        public UserProfile User { get; set; }
    }
    public class ManageCalendarEditDTO
    {
        [DisplayName("Name")]
        public Calendar Calendar { get; set; }
        [DisplayName("Category to Add")]
        public List<Category> AddableCategories { get; set; }
        [DisplayName("Category to Remove")]
        public List<Category> RemovableCategories { get; set; }
        public int SelectedAddableCategory { get; set; }
        public int SelectedRemovableCategory { get; set; }
    }

    public class ManageCalendarCreateDTO
    {
        [DisplayName("Name")]
        public Calendar Calendar { get; set; }
        public string NewCategoryName { get; set; }
        public string NewCategoryColor { get; set; }
    }

    public class ManageCalendarRolesDTO
    {
        public Calendar Calendar { get; set; }
        public List<ManageUserRoleDTO> Users { get; set; }
        public List<string> AvailableRoles { get; set; }
        public string NewUser { get; set; }
        public string NewRole { get; set; }
    }

    public class ManageUserRoleDTO
    {
        public UserProfile User { get; set; }
        public string RoleName { get; set; }
        public int RoleId { get; set; }
    }
}